1. FIELD OF THE INVENTION
The present invention relates to the field of communication systems. The present invention relates to communication systems having differing communication domains. In one embodiment, the present invention relates to communication systems including local area networks (LANs) using the Ethernet communication protocol (e.g., the IEEE 802.3 Standard) and systems using the IEEE 1394 serial communication bus standard.
2. RELATED ART
Networked communication systems ("networks") are very popular mechanisms for allowing multiple computers and peripheral systems to communicate with each other within larger computer systems. Local area networks (LANs) are one type of networked communication system and one type of LAN utilizes the Ethernet communication standard (IEEE 802.3). One Ethernet LAN standard is the 10 BaseT system which communicates at a rate of 10 Megabits per second and another Ethernet LAN standard, 100 BaseT, communicates at a rate of 100 Megabits per second. Computer systems can also communicate with coupled peripherals using different bus standards including the Peripheral Component Interconnect (PCI) bus standard and the Industry Standard Architecture (ISA) and Extended Industry Standard Architecture (EISA) bus standards. Recently, the IEEE 1394 serial communication standard has become a popular bus standard adopted by manufacturers of computer systems and peripheral components for its high speed and interconnection flexibilities. Each of the above communication standards communicates data packets using its own data packet format. Unfortunately, data packet formats are not necessarily compatible from one communication standard to another.
Due to the many communication standards available within computer systems and communication systems, it is often the case that one computer (or device) of one communication standard or "domain" needs to communicate with another computer (or device) of another communication domain. Since the data packet formats (e.g., data frame formats) between differing communication standards are not necessarily compatible, bridge circuits have been used in the prior art to allow communication from one communication domain to another. The bridge circuit is physically coupled between the two communication domains and is thereby made available to receive and send data packets for each communication domain.
FIG. 1A illustrates one exemplary bridge circuit 10 of the prior art that is used to provide communication between communication domain "A" 20a and communication domain "B" 20b that have incompatible data packet formats. An exemplary data flow direction is shown for data packets ("packets") originating from communication domain "A" 20a and destined for communication domain "B" 20b. The bridge circuit 10 contains a first memory unit 12 for receiving the header, data payload and trailer portions of a data packet from domain A 20a. A second memory unit 16 is also included. Once a data packet from domain A 20a is received, the data processor circuit 14 reads each byte of the stored data packet and transforms the data packet into the format compatible for domain B 20b. As the data processor circuit 14 transforms the data packet to the format for domain B 20b, the data packet is read, byte-by-byte, from memory 12 and copied into the second memory 16. For instance, the header is read from memory 12, processed, and stored in memory 16. Likewise, the data payload section is read from memory 12, transformed and stored in memory 16 along with the trailer. Once the new data packet is assembled in memory 16 and compatible with domain B 20b, it is transmitted to controller circuits which forward the packet to domain B 20b.
While this prior art bridge circuit 10 of FIG. 1A provides a mechanism for transferring data from one communication domain to another, it is inefficient because much of the information of the original data packet is copied into memory twice (e.g., "recopied" once received). For instance, the data is copied into memory 12 when received and then copied, again, into memory 16 when assembling the new packet format. These two copy processes increase the time required for the bridge circuit 10 to provide communication between domain A 20a and domain B 20b because the received data packet is copied twice. Also, these two copy processes increase the memory resource requirements of the bridge circuit 10 because different memory spaces are required for storing the original packet and its reassembled and translated version.
While bridge circuit 10 of FIG. 1A illustrates only the circuitry required to provide communication in one direction, e.g., from domain A 20a to domain B 20b, FIG. 1B illustrates the components required for a bridge circuit 10' that allows simultaneous bidirectional communication flow. To allow the forward flow of information, bridge circuit 10' requires two memories, a first memory 12a to receive a packet from domain A 20a and a second memory 16a to receive its translated version destined for domain B 20b. To allow the simultaneous reverse flow of information, bridge circuit 10' requires two more memories, a third memory 16b to receive a packet from domain B 20b and a fourth memory 12b to receive its translated version destined for domain A 20a. Therefore, the two copy processes described above also increase the memory requirements for bridge circuit 10' to allow simultaneous bi-directional communication.
Accordingly, the present invention provides an efficient data transfer method between communication domains of differing data packet formats. The method of the present invention eliminates one of the above two copy processes when performing a data transfer between communication domains of differing data packet formats. Therefore, the bridge circuit of the present invention has reduced memory resource requirements and also operates faster compared to the prior art bridge circuits. These and other advantages of the present invention not specifically mentioned above will become clear within discussions of the present invention presented herein.